﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AccesoBD;
using System.Data.SqlClient;

namespace CapaLogica.CL.Bitacora
{
    public class BitacoraPersistente
    {
        private AcessoBD _acceso = new AcessoBD();

        internal List<EsBitacora> buscarBitacora(String paccion, DateTime pfechaInicio, DateTime pfechaFin)//parametros del grupo
        {
            List<EsBitacora> datosBitacora = new List<EsBitacora>();
            
            EsBitacora bitacora;
            string psp = @"dbo.sp_buscar_bitacora_por_fecha_accion";

            Parametros[] parametros = new Parametros[3];
            parametros[0] = new Parametros(paccion, "accion");
            parametros[1] = new Parametros(pfechaInicio, "fecha_inicio");
            parametros[2] = new Parametros(pfechaFin, "fecha_fin");


            try
            {
                SqlDataReader reader = (SqlDataReader)_acceso.execute_SP_Consulta(psp, parametros);

                while (reader.Read())
                {
                    bitacora = new EsBitacora();
                    bitacora.NombreUsuario = reader.GetValue(0).ToString();
                    bitacora.NombreRol = reader.GetValue(1).ToString();
                    bitacora.Accion = reader.GetValue(2).ToString();
                    bitacora.NombrEntidadeAfectada = reader.GetValue(3).ToString();
                    bitacora.Fecha = reader.GetDateTime(4);
                    datosBitacora.Add(bitacora);
                }
                reader.Close();
                
                return datosBitacora;

            }
            catch (Exception ex)
            {
                throw new System.Exception(ex.Message);
            }

        }
    }
}
